/* NFE
* (C) Copyright Beetlestech , Ltd. 2014, All Rights Reserved.
*/
package com.beetlestech.nfe.main.biz.com;


/**
 * HbLogout Bizロジックのインタフェース
 *
 * 変更履歴
 * REV.         変更日付           変更者              変更内容
 * -------      ---------------    ----------------    ------------------
 * 1.0          2014/02/21         GD                  新規作成
 *
 */
public interface HbLogout {
	/**
	 * ログアウトする
	 *
	 * 処理詳細：
	 * 1共通メソッドを呼び出して、「ログを」記述する。
	 *
	 * メソッド名：
	 *
	 * HbLogout . recordLogout()
	 *
	 * 引渡しデータ:
	 *
	 * 「CtgCodeConstant.TLOGINLG_RESULT.LOGOUT_SUCCESS」
	 *
	 * 2共通メソッドを呼び出して、セッションをクリアする
	 *
	 * メソッド名：
	 *
	 * HbLogout . clearSession()
	 *
	 * 3ログアウト成否(result)
	 *
	 * 戻る値「result」 = true;
	 *
	 * 4戻る値「result」を返す
	 *
	 * @return result ログアウト成否  
	 */
	Boolean logout();

	/**
	 * ログアウトに成功したことを記録する
	 *
	 * 処理詳細：
	 * 1.0セッションから、ログインID、職員ID、wsNO、IPアドレス、ホスト名、セッションIDを取得する
	 *
	 * ログインID、職員ID、wsNO、IPアドレス、セッションIDのうちはいずれかブランクの場合、そのまま処理終了する
	 *
	 * 2.0ログインログ情報（LOGINLG）を設定する
	 *
	 * TloginlgDTO.ログインID=
	 *
	 * TloginlgDTO.職員ID=
	 *
	 * TloginlgDTO.ログインアウト日=
	 *
	 * TloginlgDTO.ログインアウト時間=
	 *
	 * TloginlgDTO.ログインアウト成否=
	 *
	 * TloginlgDTO.wsNo=
	 *
	 * TloginlgDTO.IPアドレス=
	 *
	 * TloginlgDTO.ホストネーム=
	 *
	 * TloginlgDTO.セッションID=
	 *
	 * 3.0LOGINLGにログインログ情報を挿入する
	 *
	 * SQLID
	 *
	 * TLOGINLG_INSERT
	 *
	 * 引渡しデータ
	 *
	 * 処理1に設定されたTloginlgDTO
	 *
	 * @param result ログインアウト結果  
	 */
	 void recordLogout(String result);

	/**
	 * セッションを破棄する
	 *
	 * 処理詳細：
	 * 1.0リクエストコンテクストのremoveElementFromSessionメソッドを呼び出す
	 *
	 * 引渡しデータ
	 *
	 * RequestContext.Key.All
	 *
	 */
	 void clearSession();

}